package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.IFormValueDTO;
import com.cuixichang.minimalism.transfer.page.IFormValuePageRequest;
import com.cuixichang.minimalism.transfer.page.IFormValueRequest;
import com.cuixichang.minimalism.transfer.vo.IFormValueVO;
import com.cuixichang.minimalism.transfer.po.IFormValue;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 对象适配器
 *
 * @author cuixichang
 * @date 2024-12-20
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface IFormValueAssembler {

    IFormValueAssembler INSTANCT = Mappers.getMapper(IFormValueAssembler.class);

    IFormValueDTO convertDto(IFormValueRequest request);

    IFormValueDTO convertDto(IFormValuePageRequest request);

    IFormValue convertPo(IFormValueDTO dto);

    IFormValueDTO convertDto(IFormValue po);

    IFormValueVO convertVo(IFormValueDTO dto);
}